
#include "../UI.h"
#include <assert.h>
#include <iostream>

void TestUiSingleton()
{
    UI *ui1 = UI::GetUI();
    UI *ui2 = UI::GetUI();
    assert(ui1 == ui2);
    std::cout << "UI sigleton passed." << std::endl;
    UI::DestroyUI();
}

void TestUiWarning()
{
    UI::GetUI()->SystemWarning("Hello, the World!");
    UI::DestroyUI();
}

void TestUiHint()
{
    UI::GetUI()->SystemHint("Hello, the World!");
    UI::DestroyUI();
}

void TestPrintAndPause()
{
    UI *ui = UI::GetUI();
    ui->SystemOut("Console RPG output Text");
    ui->SystemPause();
    UI::DestroyUI();
}

void TestGetInput()
{
    UI *ui = UI::GetUI();
    short res;
    res = ui->GetUserInput(1, 9);
    std::cout << res << std::endl;
    res = ui->GetUserInput(2, 5);
    std::cout << res << std::endl;
    UI::DestroyUI();
}

int main()
{
    TestUiSingleton();
    TestUiWarning();
    TestUiHint();
    TestPrintAndPause();
    TestGetInput();
    return 0;
}

